package com.hivekion.workflow.service;

import com.alibaba.fastjson.JSONObject;
import com.hivekion.workflow.domain.vo.ProcessModelInputVo;
import com.hivekion.workflow.domain.vo.ProcessModelUpdateInputVo;
import org.activiti.bpmn.model.FlowElement;

import java.io.IOException;
import java.util.List;

public interface ProcessDesignService {

      /**
       * 创建模型
       */
      void createModel(ProcessModelInputVo inputVo);

      /**
       * 获取模型 xml
       */
      JSONObject getEditorXml(String modelId);

      /**
       * 编辑模型 xml
       */
      void saveModelXml(ProcessModelUpdateInputVo inputVo) throws IOException;

      /**
       * 模型部署
       */
      String deployModel(String modelId) throws Exception;

      List<FlowElement> getFlowElements(String processId);
}
